package slcu.inscripcion;

import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portal.kernel.log.Log;
import com.liferay.portal.kernel.log.LogFactoryUtil;
import com.liferay.portal.model.User;

import slcu.mail.RechazoInscripcionMailSender;
import slcu.mail.RevisionInscripcionMailSender;
import slcu.model.Deportista;
import slcu.service.InscripcionMensajeLocalServiceUtil;
import slcu.service.NotificacionRechazoLocalServiceUtil;
import slcu.service.persistence.InscripcionMensajeUtil;

public class InscripcionEvents {
	
	private static Log _log = LogFactoryUtil.getLog(InscripcionEvents.class);

	public static void onRechazo(User userOrigen, User userDestino, Deportista deportista) {
		
		try {
			NotificacionRechazoLocalServiceUtil.agregarNotificacionRechazo(deportista, userDestino.getUserId());
		} catch (PortalException e) {
			_log.error("PortalException: No se pudo crear una notificación de rechazo", e);
		} catch (SystemException e) {
			_log.error("SystemException: No se pudo crear una notificación de rechazo", e);
		}
		
		if (SlicConfiguration.sendRejectionEmailIsEnabled()) {
			RechazoInscripcionMailSender.sendRechazoMail(userOrigen, deportista, userDestino);
		} else {
			_log.info("El mail de rechazo está desactivado");
		}
	}
	
	public static void onReinscripcion(User userOrigen, User userDestino, Deportista deportista) {
		
		try {
			InscripcionMensajeLocalServiceUtil.agregarMensajeReinscripcion(userOrigen, deportista, userDestino);
		} catch (PortalException e) {
			_log.error("PortalException: No se pudo crear un mensaje de reinscripción", e);
		} catch (SystemException e) {
			_log.error("SystemException: No se pudo crear un mensaje de reinscripción", e);
		}
		
		if (SlicConfiguration.sendRevisionEmailIsEnabled()) {
			RevisionInscripcionMailSender.sendRevisionMail(userOrigen, deportista, userDestino);
		} else {
			_log.info("El mail de revisión está desactivado");
		}
		
	}
	
}
